// class Solution 
// {
// public:
//     int myAtoi(string str) 
//     {
//         bool sign = true;//默认值为正
//         //读字符前的空格
//         int i = 0;
//         while(i < str.size() && str[i] == ' ')
//             i++;
//         //找+-号
//         if(str[i] == '-')
//         {
//             sign = false;
//             i++;
//         }
//         else if(str[i] == '+')
//             i++;
//         //判断第一个是否为数字，否则返回0
//         if(str[i] < '0' || str[i] > '9')
//             return 0;
//         //开始遍历
//         int res = 0; //结果
//         int num;
//         int border = INT_MAX / 10; // INT_MAX = 2147483647 ÷ 10 之后有两种情况
//                    //情况1：res > border 越界 情况2：res = border , num >  7 越界
//         while(i < str.size())
//         {
//             if(str[i] < '0' || str[i] > '9')
//                 break;
//             if(res > border || (res == border && str[i] > '7'))
//             {
//                 return sign == true ? INT_MAX : INT_MIN;
//             }
//             num = str[i] - '0';
//             res = res * 10 + num;
//             i++;
//         }
//         return sign == true ? res : -res; 
//     }
// };